package com.huidatech.mpgdemo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
* @DESC: 
* @author wangzhuangzhuang
* @date 2021-10-26 14:29
*/

@Configuration
@EnableSwagger2
public class Swagger2 {

	private ApiInfo apiInfo(){
		return new ApiInfoBuilder()
				.title("阳春主题库 - Yangchun_Theme_Library")
				.description("价格库 - 爬虫服务")
				.termsOfServiceUrl("http://test.com")
				.version("1.0.0")
				.build();
	}

	@Bean
	public Docket createRestApi(){
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				// 扫描basePackage包下面的"/rest/"路径下的内容作为接口文档的目标
				.apis(RequestHandlerSelectors.basePackage("com.huidatech.demo"))
				.paths(PathSelectors.regex("/rest/.*"))
				.build();
	}
}
/*
* @EnableSwagger2 注解表示开启Swagger API文档相关的功能
* 在apiInfo中配置接口文档的title、description、termsOfServiceUrl、version等
* 在createRestApi方法中，basePackage表示扫描哪个package下面的Controller类作为API接口文档内容范围
* 在createRestApi方法中，paths表示哪一个请求路径下控制器映射方法，作为API接口文档内容范围
* */